home *** CD-ROM | disk | FTP | other *** search
/ Champak 132 (Alt) / Vol 132.iso / games / nameless.swf / scripts / DefineSprite_2633 / frame_1 / DoAction.as
Encoding:
Text File  |  2011-06-09  |  6.0 KB  |  263 lines

  1. if(!setVars)
  2. {
  3.    var moveSpeed = 3;
  4.    var addSpeed = 0.5;
  5.    var gravity = 0;
  6.    var maxGravity = 8;
  7.    var airSpeed = 0.5;
  8.    var active = false;
  9.    var xTar = 0;
  10.    xscale = _xscale;
  11.    var attacking = false;
  12.    var hitSound = new Sound();
  13.    var die = false;
  14.    hitSound.attachSound("punch5");
  15.    var removeNum = 100;
  16.    var melt = false;
  17.    var startX = _X;
  18.    var startY = _Y;
  19.    var bat = false;
  20.    var health = 2;
  21.    var mNum = 0;
  22.    var setVars = true;
  23. }
  24. stop();
  25. var getFrame = function()
  26. {
  27.    if(die == true)
  28.    {
  29.       frame = "die";
  30.    }
  31.    else if(melt == true)
  32.    {
  33.       frame = "melt";
  34.    }
  35.    else if(bat == true)
  36.    {
  37.       frame = "hit";
  38.    }
  39.    else if(running == false && attacking == false && falling == false)
  40.    {
  41.       frame = "stand";
  42.    }
  43.    else if(falling == true)
  44.    {
  45.       frame = "stand";
  46.    }
  47.    else if(attacking == true)
  48.    {
  49.       frame = "attack";
  50.    }
  51.    gotoAndStop(frame);
  52. };
  53. var onEnterFrame = function()
  54. {
  55.    _root.checkVis(this);
  56.    if(_root.remake == true)
  57.    {
  58.       die = false;
  59.       melt = false;
  60.       removeNum = 100;
  61.       _X = startX;
  62.       _Y = startY;
  63.       active = false;
  64.       bat = false;
  65.       _visible = true;
  66.       _alpha = 100;
  67.       health = 2;
  68.    }
  69.    if(_root.pauseMode == false)
  70.    {
  71.       if(active == true)
  72.       {
  73.          if(die == false && melt == false && bat == false)
  74.          {
  75.             if(_root.candy.hitTest(hit))
  76.             {
  77.                if(_root.candy.dir == "left")
  78.                {
  79.                   _root.candy.dir = "right";
  80.                }
  81.                else
  82.                {
  83.                   _root.candy.dir = "left";
  84.                }
  85.                hitSound.start();
  86.                hitSound.start();
  87.                if(health <= 0)
  88.                {
  89.                   die = true;
  90.                }
  91.                else
  92.                {
  93.                   health -= 1;
  94.                   bat = true;
  95.                }
  96.             }
  97.             else if(_root.cm.g.hit.hitTest(hit))
  98.             {
  99.                hitSound.start();
  100.                if(health <= 0)
  101.                {
  102.                   die = true;
  103.                }
  104.                else
  105.                {
  106.                   health -= 1;
  107.                   bat = true;
  108.                }
  109.             }
  110.             else if(_root.cm.g.sparkle.hitTest(hit))
  111.             {
  112.                melt = true;
  113.             }
  114.             if(attacking == false)
  115.             {
  116.                if(_root.cm._x > _X)
  117.                {
  118.                   _xscale = - xscale;
  119.                }
  120.                else if(_root.cm._x < _X)
  121.                {
  122.                   _xscale = xscale;
  123.                }
  124.             }
  125.             if(!bound.hitTest(_root.cm))
  126.             {
  127.                if(attacking == false)
  128.                {
  129.                   running = true;
  130.                   if(_root.cm._x > _X)
  131.                   {
  132.                      if(!_root.bound.hitTest(_X + xTar + addSpeed,_Y - 10,true))
  133.                      {
  134.                         xTar += addSpeed;
  135.                      }
  136.                   }
  137.                   else if(_root.cm._x < _X)
  138.                   {
  139.                      if(!_root.bound.hitTest(_X - xTar - addSpeed,_Y - 10,true))
  140.                      {
  141.                         xTar -= addSpeed;
  142.                      }
  143.                   }
  144.                }
  145.             }
  146.             else
  147.             {
  148.                running = false;
  149.                if(xTar > 0)
  150.                {
  151.                   xTar -= addSpeed;
  152.                }
  153.                else if(xTar < 0)
  154.                {
  155.                   xTar += addSpeed;
  156.                }
  157.                mNum++;
  158.                num = random(90);
  159.                if(arr._currentframe == 1 && (num == 1 or mNum == 55) && attacking == false && falling == false && running == false)
  160.                {
  161.                   mNum = 0;
  162.                   attacking = true;
  163.                }
  164.             }
  165.          }
  166.          else
  167.          {
  168.             if(removeNum < 0)
  169.             {
  170.                if(_alpha > 0)
  171.                {
  172.                   _alpha = _alpha - 1;
  173.                }
  174.                else
  175.                {
  176.                   _visible = false;
  177.                }
  178.             }
  179.             else
  180.             {
  181.                removeNum -= 1;
  182.             }
  183.             if(xTar > 0)
  184.             {
  185.                xTar -= addSpeed;
  186.             }
  187.             else if(xTar < 0)
  188.             {
  189.                xTar += addSpeed;
  190.             }
  191.          }
  192.          if(xTar > moveSpeed)
  193.          {
  194.             xTar = moveSpeed;
  195.          }
  196.          else if(xTar < - moveSpeed)
  197.          {
  198.             xTar = - moveSpeed;
  199.          }
  200.          if(_root.bound.hitTest(_X,_Y + 1,true))
  201.          {
  202.             falling = false;
  203.          }
  204.          else
  205.          {
  206.             falling = true;
  207.          }
  208.          if(falling == true)
  209.          {
  210.             grav = 0;
  211.             switched = false;
  212.             i = 0;
  213.             while(i < gravity)
  214.             {
  215.                if(switched == false)
  216.                {
  217.                   if(_root.bound.hitTest(_X,_Y + i,true))
  218.                   {
  219.                      switched = true;
  220.                   }
  221.                   else
  222.                   {
  223.                      grav = i;
  224.                   }
  225.                }
  226.                i++;
  227.             }
  228.             _Y = _Y + i;
  229.             if(gravity < maxGravity)
  230.             {
  231.                gravity += airSpeed;
  232.             }
  233.          }
  234.          else
  235.          {
  236.             gravity = 0;
  237.          }
  238.          while(_root.bound.hitTest(_X,_Y - 0.5,true))
  239.          {
  240.             _Y = _Y - 0.5;
  241.          }
  242.          if((die == true or melt == true) && g._currentframe == g._totalframes)
  243.          {
  244.             g.stop();
  245.          }
  246.          else
  247.          {
  248.             g.play();
  249.          }
  250.       }
  251.       if(_root.cam.hitTest(this))
  252.       {
  253.          active = true;
  254.       }
  255.    }
  256.    else
  257.    {
  258.       stop();
  259.       g.stop();
  260.    }
  261.    getFrame();
  262. };
  263.